package com.ztgf.shopping.models.service.shop;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.ztgf.shopping.models.bo.shop.ShopBrandRelationBO;
import com.ztgf.shopping.models.bo.shop.ShopBrandRelationSaveBO;
import com.ztgf.shopping.models.dto.shop.ShopBrandRelationDTO;
import com.ztgf.shopping.models.vo.shop.ShopBrandRelationVO;
import com.ztgf.shopping.models.vo.shop.ShopInfoBrandVO;

import java.util.List;

/**
 * 店铺品牌关系表服务
 *
 * @author zhanghualang
 * @Date 2020-05-28 14:43:46
 */
public interface IShopBrandRelationService extends IService<ShopBrandRelationDTO> {
    boolean add(ShopBrandRelationSaveBO saveBO);

    Page<ShopInfoBrandVO> queryFranchiseShopPageList(Page<ShopInfoBrandVO> page, ShopBrandRelationBO bo); //品牌中心 专卖店 旗舰店

    boolean updateStatus(Long id, Integer status);

    Page<ShopInfoBrandVO> querySpecialtyShopPageList(Page<ShopInfoBrandVO> page, ShopBrandRelationBO bo);//品牌中心 专营店

    Integer getShopCount(Long brandId); //获取品牌下商家数量

    Page<ShopInfoBrandVO> queryShopPageList(Page<ShopInfoBrandVO> page, ShopBrandRelationBO bo); //品牌下所有店铺

    List<ShopBrandRelationVO> queryVOList(Long id); //根据店铺ID查询店铺下所有品牌列表 后端使用

    /**
     * @return : com.baomidou.mybatisplus.plugins.Page<com.ztgf.shopping.models.vo.shop.ShopInfoBrandVO>
     * @Author :chenyu.wang
     * @Description : PC品牌中心根据品牌ID获取关联店铺,排序方式为旗舰店-专卖店-专营店
     * @Date : 2021.03.26 15:56
     * @Param : [bo]
     **/
    Page<ShopInfoBrandVO> queryShopListByBrandId(ShopBrandRelationBO bo);

    ShopBrandRelationDTO getDTO(Long shopId, Long brankId);
}
